Picture coding method and picture decoding method

ABSTRACT

A picture coding apparatus ( 300 ) is a picture coding apparatus that codes a difference between picture data (Img) representing an input picture and predictive picture data (Pred) representing a predictive picture for the input picture and generates coded picture data, and includes a picture decoding unit ( 104 ) for decoding coded picture data (Img) after the picture data (Img) is coded; inter pixel filters A and B ( 303  and  304 ) for performing inter pixel filter operation for decoded picture data (Recon) obtained by the picture decoding unit ( 104 ); switches ( 301  and  302 ) for selecting one of the inter pixel filters; and an inter picture predicting unit ( 108 ) for generating the predictive picture data (Pred) for the input picture data (Img) using filtered decoded picture data (FilteredImg 1 ), as reference picture data (Ref), obtained by the selected inter pixel filter.

TECHNICAL FIELD

The present invention relates to a picture coding method, a picturedecoding method, a picture coding apparatus, a picture decodingapparatus, a program for executing such methods in the form of software,and a recording medium on which the program is recorded.

BACKGROUND ART

With the development of multimedia applications, it has become common inrecent years to handle information of all sorts of media such as audio,video and text in an integrated manner. In doing so, it becomes possibleto handle media integrally by digitalizing all the media. However, sincedigitalized pictures have an enormous amount of data, informationcompression techniques are of absolute necessity for their storage andtransmission. On the other hand, in order to interoperate compressedpicture data, standardization of compression techniques is alsoimportant. Standards on picture compression techniques include H. 261and H. 263 recommended by ITU-T (International Telecommunication UnionTelecommunication Standardization Sector), and MPEG (Moving PictureExperts Group)-1, MPEG-2 and MPEG-4 of ISO (International Organizationfor Standardization).

FIG. 1 is a block diagram showing a structure of a conventional picturecoding apparatus 100. Note that, in the present invention, the unitconsisting of one sheet of image is referred to as a picture. In aninterlace image signal, a picture means a field or a frame, and in aprogressive image signal, a picture means a frame.

The picture coding apparatus 100 includes a difference calculator 101, apicture coding unit 102, a variable length coding unit 103, a picturedecoding unit 104, an adder 105, an inter pixel filter 106, a picturememory 107, an inter picture predicting unit 108, and an inter pictureprediction estimating unit 109. The difference calculator 101 subtractsa predictive picture inputted to a minus input terminal from an inputpicture inputted to a plus input terminal so as to output thedifferential picture. The picture coding unit 102 codes the inputteddifferential picture. For example, the picture coding unit 102 codes theinputted data by performing frequency transformation of it using DCT orthe like and quantizing the frequency data as the transformation result.The variable length coding unit 103 performs variable length coding ofthe coded differential picture and predictive parameters from the interpicture prediction estimating unit 109, adds relevant data such as aheader describing information relevant to the resulting coded data toit, formats it into an output coded bit, stream, and outputs it outsidethe picture coding apparatus 100. The picture decoding unit 104 decodesthe differential picture coded by the picture coding unit 102, byperforming processing inverse to the coding by the picture coding unit102 for the differential picture. For example, after performing inversequantization of the coded differential picture, the picture decodingunit 104 performs inverse frequency transformation such as inverse DCTto decode the difference between the input picture and the predictivepicture. The adder 105 adds the decoded differential picture and thepredictive picture to decode the input picture. The inter pixel filter106 performs filtering such as suppressing coding noise in the highfrequency components of the decoded input picture. The picture memory107 holds the picture data of at least one picture among the picturesdecoded by the adder 105 as a reference picture. The inter picturepredicting unit 108 reads out a predictive picture from the referencepicture in the picture memory 107 based on the prediction resultobtained by the inter picture prediction estimating unit 109. The interpicture prediction estimating unit 109 derives a predictive parameterPredParam that is the amount of change in motion of the input picturefrom the reference picture.

More specifically, picture data Img is inputted to the picture codingapparatus 100 from outside. The picture data Img is inputted to the plusinput terminal of the difference calculator 101. The differencecalculator 101 calculates the difference between the pixel values ofthis picture data Img and the predictive picture data Pred inputted tothe minus input terminal to output the result as differential picturedata Res. This predictive picture data Pred is obtained in the followingmanner. First, reference picture data Ref, that is an image of analready coded picture, and is once coded and then decoded to be an imagefor one picture, is stored in the picture memory 107. Next, from thisreference picture data Ref, data representing an image corresponding toeach block in the inputted picture data Img is extracted based on thepredictive parameter PredParam. The data representing this image of eachblock is the predictive picture data Pred. The picture coding apparatus100 stores several sheets of coded pictures as reference picture dataRef for prediction in the picture memory 107, and the inter picturepredicting unit 108 generates predictive picture data Pred from thereference picture data Ref stored in the picture memory 107. The interpicture prediction estimating unit 109 obtains predictive parameter dataPredParam used for prediction (for instance, motion vector informationused in the MPEG picture coding method, and the like) from the inputpicture data Img and the reference picture data Ref. Note that pixelvalues of a predictive picture shall be “0” in the case of intra picturecoding.

The picture coding unit 102 codes differential picture data Res, andoutputs it as coded differential picture data CodedRes. The picturedecoding unit 104 decodes the coded differential picture data CodedResand outputs it as decoded differential picture data ReconRes in order touse it as a reference picture for inter picture prediction. The pixelvalues indicated by this decoded differential picture data ReconRes andpixel values indicated by the predictive picture data Pred are added bythe adder 105 and outputted as decoded picture data Recon. The interpixel filter 106 performs filter operation processing for the decodedpicture data Recon, and stores it as filtered decoded picture dataFilteredImg in the picture memory 107.

The inter pixel filter 106 has the effect of reducing coding noise ofdecoded picture data Recon and improving prediction efficiency if thepicture is used as a reference picture. As an example of the inter pixelfilter 106, there is an H. 261 loop filter recommended by ITU-T. Thefiltered decoded picture data FilteredImg which has been performed ofthe inter pixel filter operation by the inter pixel filter 106 is storedin the picture memory 107, and used as a reference picture when thefollowing pictures are coded. The variable length coding unit 103performs variable length coding of the coded differential picture dataCodedRes and the predictive parameter data PredParam, and puts themtogether into one coded data Bitstream to output the result outside thepicture coding apparatus 100. FIG. 2 is a block diagram showing thestructure of a conventional picture decoding apparatus 200. The picturedecoding apparatus 200 includes a variable length decoding unit 201, apicture decoding unit 202, an adder 203, an inter pixel filter 204, apicture memory 205 and an inter picture predicting unit 206. The codeddata Bitstream is inputted to the picture decoding apparatus 200 fromoutside. The variable length decoding unit 201 performs variable lengthdecoding of the inputted coded data Bitstream, and separates it intocoded differential picture data CodedRes and predictive parameter dataPredParam. The picture decoding unit 202 decodes the coded differentialpicture data CodedRes and outputs it as decoded differential picturedata ReconRes. Note that a picture which has been referred to by apicture outputted as the decoded differential picture data ReconRes,that is, a picture corresponding to the reference picture data Ref inthe picture coding apparatus 100, has been already decoded and stored inthe picture memory 107. Therefore, the inter picture predicting unit 206generates predictive picture data Pred from the reference picture dataRef based on the predictive parameter data PredParam. The adder 203 addsthe predictive picture data Pred and the decoded differential picturedata ReconRes to output the result as decoded picture data Recon. Theinter pixel filter 204 performs inter pixel filter operation of thedecoded picture data Recon, and outputs the result as filtered decodedpicture data FilteredImg outside the picture decoding apparatus 200. Theoutside of the picture decoding apparatus 200 means a display apparatussuch as a television. And, the filtered decoded picture data FilteredImgis stored in the picture memory 205 and referred to as reference picturedata Ref for the following pictures.

However, if considering the case of transmitting moving pictures via amobile phone or the like, it is desired to minimize power consumption ofa mobile apparatus as a whole in order to make available hours percharge longer, so it is not desirable for the apparatus to have highprocessing capability which requires a larger amount of power forpicture processing. Therefore, in using a mobile apparatus which can useonly an operating unit with low processing capability for pictureprocessing, there is sometimes the case where it can use only an interpixel filter which is required of a small processing load. Meanwhile, itis sometimes requested to use a high-performance inter pixel filter forsome applications that strongly require transmission of high qualitymoving pictures and high coding efficiency, even if an operating unit isrequired of larger processing load. If a coding method is capable ofresponding to such requirements flexibly, it is useful with theexpanding range of applications to a picture coding apparatus andpicture decoding apparatus according to such a coding method anddecoding method.

The present invention has been conceived in view of these conventionalproblems, and aims at providing a picture coding apparatus that uses aninter pixel filter selectively depending on various situations so as togenerate coded data, and a picture decoding apparatus that decodes thecoded data.

DISCLOSURE OF INVENTION

The picture coding apparatus according to the present invention is apicture coding apparatus that codes differential picture data that is adifference between input picture data representing an input picture andpredictive picture data representing a predictive picture for a picturein the input picture, so as to generate coded picture data, the picturecoding apparatus comprising: a decoding unit operable to decode thecoded differential picture data and add the decoded differential picturedata and the predictive picture data, after the differential picturedata is coded; a plurality of inter pixel filters for performing aninter pixel filtering for the decoded picture data obtained by thedecoding unit; a selecting unit operable to select one of the pluralityof inter: pixel filters; and a predictive picture generating unitoperable to generate the predictive picture data for the input picturedata, using the filtered decoded picture data, as reference picturedata, obtained by the selected inter pixel filter.

Therefore, there is an effect that the picture coding apparatusaccording to the present invention is capable of switching to anappropriate inter pixel filter depending on the processing capability onthe picture coding apparatus side, the processing capability on thepicture decoding apparatus side that receives a coded signal, or theproperties, compression rates and so on of a picture to be coded, so asto create the coded signal.

Also, the picture decoding apparatus according to the present inventionis a picture decoding apparatus that decodes coded picture data obtainedby coding a difference between picture data representing a picture inoriginal moving pictures and predictive picture data representinganother picture in the original moving pictures to generate a pluralityof picture data representing the original moving pictures, the picturedecoding apparatus comprising: a decoding unit operable to add thedecoding result of the coded picture data and the already decodedpredictive picture data associated with the coded picture data togenerate picture data representing an original picture; a selecting unitoperable to select one of a plurality of inter pixel filters forperforming an inter pixel filtering for the decoded picture data; and apredictive picture generating unit operable to generate the predictivepicture data associated with another coded picture data from the picturedata which is performed of the filtering by the selected inter pixelfilter.

Therefore, there is an effect that the picture decoding apparatusaccording to the present invention is capable of selecting an interpixel filter depending on the processing capability of the picturedecoding apparatus or whether a picture is referred to or not, so as togenerate a predictive picture. Also, when the picture coding apparatusswitches the inter pixel filter, the picture decoding apparatus can alsoperform decoding properly using the corresponding inter pixel filter.

Further, the picture coding apparatus (or the picture decodingapparatus) according to the present invention is a picture codingapparatus or the like that codes pictures which are inputted insequence, the picture coding apparatus comprising: a coding unitoperable to code a picture by performing predetermined transformationprocessing for the picture; an inverse transformation unit operable toperform inverse transformation processing to the transformationprocessing for the picture coded by the coding unit; a filtering unitoperable to perform filtering for the picture; a memorizing unitoperable to memorize the picture; and a controlling unit operable toperform control so as to store the picture obtained by the inversetransformation processing by the inverse transformation unit in thememorizing unit after the filtering is performed by the filtering unit,or to store the picture in the memorizing unit without the filteringbeing performed by the filtering unit, wherein the coding unit codes thepicture with reference to a past picture which has been stored in thememorizing unit.

Thereby, inter pixel filtering such as noise removal is not alwaysperformed in picture coding (or picture decoding), but it can beperformed selectively when necessary, so it becomes possible even for apicture coding apparatus (or a picture decoding apparatus) with lowerprocessing capability to adopt an inter pixel filter by performing interpixel filtering for only a picture which has a significant influence onpicture quality, and thus the effect of improving picture qualitysignificantly at a low bit rate can be obtained.

Here, the controlling unit may perform control so as to perform thefiltering when a significance level of the picture is high, and not toperform the filtering when the significance level of the picture is low.For example, the controlling unit may judge that the significance levelof the picture is high and perform control so as to perform thefiltering for the picture when the picture is intra picture coded by thecoding unit, and judge that the significance level of the picture is lowand perform control so as not to perform the filtering for the picturewhen the picture is inter picture coded by the coding unit. Or, thecontrolling unit may judge that the significance level of the picture ishigh and perform control so as to perform the filtering for the picturewhen the picture is forward predictive coded by the coding unit, andjudge that the significance level of the picture is low and performcontrol so as not to perform the filtering for the picture when thepicture is bi-predictive coded by the coding unit. Or, the controllingunit may judge that the significance level of the picture is high andperform control so as to perform the filtering for the picture when thepicture is base layer coded by the coding unit, and judge that thesignificance level of the picture is low and perform control so as notto perform the filtering for the picture when the picture is enhancementlayer coded by the coding unit.

Thereby, inter pixel filtering is performed for a picture having asignificant influence on other pictures, that is, an intra picture codedpicture, a forward predictive coded picture, a base layer picture or thelike by priority, so the effect of improving picture quality such asnoise removal by an inter pixel filter can be obtained more powerfully,even with the same increase in the processing load.

Also, the controlling unit may monitor whether or not the picture codingapparatus (or the picture decoding apparatus) has enough processingcapacity, and perform control so as to perform the filtering forpictures including pictures with lower significance levels if thepicture coding apparatus has enough processing capacity, and not toperform the filtering for pictures including pictures with highersignificance levels if the picture coding apparatus does not have enoughprocessing capacity. For example, a priority corresponding to thesignificance level is associated with the picture, and the controllingunit may monitor an operation rate of a CPU included in the picturecoding apparatus to monitor the processing capacity, and performscontrol so as to perform the filtering for only the pictures with higherpriorities if the operation rate is high, and not to perform thefiltering for the pictures including the pictures with lower prioritiesif the operation rate is low.

Thereby, since ON/OFF of filtering can be controlled so as to make fulluse of the processing capability of the picture coding apparatus (or thepicture decoding apparatus), a CPU is used with high efficiency, andthus coding (or decoding) for high picture quality can be realized evenwith the same hardware resources.

As described above, according to the present invention, the picturecoding and picture decoding at a low bit rate (high compression rate)for high picture quality are realized, and particularly, the significanteffect of improving picture quality can be achieved in picture codingprocessing and picture decoding processing by software under limitedhardware resources, and thus it can be said that the practical value ofthe present invention is extremely high in these days when informationcommunication technology and computers have become widespread.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a block diagram showing the structure of a conventionalpicture coding apparatus.

FIG. 2 is a block diagram showing the structure of a conventionalpicture decoding apparatus.

FIG. 3 is a block diagram showing the structure of a picture codingapparatus according to a first embodiment of the present invention.

FIG. 4 is a block diagram showing the structure of a picture codingapparatus that switches an inter pixel filter for every slice of aninput picture.

FIG. 5A is a diagram showing the stream structure of coded dataBitstream outputted from the picture coding apparatus of the presentinvention. FIG. 5B is a diagram showing the stream structure of codeddata Bitstream outputted when the picture coding apparatus of thepresent invention switches an inter pixel filter in the unit of a slice.

FIG. 6 is a block diagram showing the structure of a picture decodingapparatus that decodes coded data Bitstream1 generated by the picturecoding apparatus according to the first embodiment.

FIG. 7 is a block diagram showing the structure of a picture decodingapparatus that uses a built-in inter pixel filter in place of aspecified inter pixel filter if it is not included in the picturedecoding apparatus.

FIG. 8 is a block diagram showing the structure of a picture codingapparatus according to a second embodiment of the present invention.

FIG. 9 is a diagram showing the details of operation by a deblock filterthat is an example of the inter pixel filter as shown in FIG. 8. A is adiagram showing pixel values in the vicinity of the boundary betweenblocks before filtering. B is a diagram showing pixel values in thevicinity of the boundary between blocks after filtering.

FIG. 10 is a flowchart showing a flow of filtering processing by aninter pixel filter.

FIG. 11 is a block diagram showing the structure of a picture decodingapparatus that can select whether inter pixel filter processing is to beperformed or not.

FIG. 12 is a block diagram showing the structure of a picture decodingapparatus which is equipped with an inter pixel filter that can furtherselect in an output stage.

FIG. 13 is a block diagram showing the structure of a picture decodingapparatus that can select an inter pixel filter depending on a picturetype of each picture.

FIG. 14 is a block diagram showing the functional structure of a picturecoding apparatus according to a third embodiment of the presentinvention.

FIG. 15 is a block diagram showing the detailed functional structure ofa priority determining unit as shown in FIG. 14.

FIG. 16 is a block diagram showing the detailed functional structure ofa filter processing controlling unit as shown in FIG. 14.

FIG. 17 is a diagram showing reference relations between pictures storedin a picture memory as shown in FIG. 14.

FIG. 18 is a flowchart showing switch activating processing executed bya switch change processing unit as shown in FIG. 16.

FIG. 19 is a block diagram showing the functional structure of a picturedecoding apparatus according to a fourth embodiment of the presentinvention.

FIG. 20 is an explanatory diagram in the case of implementation by acomputer system using a flexible disk storing the picture coding methodor the picture decoding method of the above-mentioned first embodimentthrough the fourth embodiment. A shows an example of a physical formatof a flexible disk that is a recording medium main body. B shows thefront view of the appearance of the flexible disk, the cross-sectionalview thereof and the flexible disk, and shows the structure forrecording and reproducing the above program on the flexible disk FD.

FIG. 21 is a block diagram showing the overall configuration of acontent providing system which realizes content distribution services.

FIG. 22 is a diagram showing an example of the appearance of a mobilephone.

FIG. 23 is a block diagram showing the structure of the mobile phone.

FIG. 24 is a diagram explaining devices that perform the codingprocessing or decoding processing as shown in the above-mentionedembodiments and a system using these devices.

BEST MODE FOR CARRYING OUT THE INVENTION First Embodiment

The following explains concrete embodiments of the present inventionwith reference to the figures. FIG. 3 is a block diagram showing thestructure of a picture coding apparatus 300 according to the firstembodiment of the present invention. In this figure, the same referencenumbers are assigned to the same constituent elements and data as thoseof the conventional picture coding apparatus 100 as shown in FIG. 1 andthe explanations thereof are omitted, because they have been alreadyexplained. Similarly, in the following figures, the same referencenumbers are assigned to the constituent elements and data which havebeen already explained, and the explanations thereof are omitted. Thepicture coding apparatus 300 is comprised of the difference calculator101, the picture coding unit 102, a variable length coding unit 305, thepicture decoding unit 104, the adder 105, the picture memory 107, theinter picture predicting unit 108, the inter picture predictionestimating unit 109, a switch 301, a switch 302, an inter pixel filter

A 303 and an inter pixel filter B 304. The switch 301 and the switch 302are switches for respectively connecting to either a terminal 1 or aterminal 2 selectively depending on a value of filter type informationFilterType1. The switch 301 is provided between the output terminal ofthe adder 105 and the input terminals of the inter pixel filter A 303and the inter pixel filter B 304. And the switch 302: is providedbetween the input terminal of the picture memory 107 and the outputterminals of the inter pixel filter A 303 and the inter pixel filter B304. The inter pixel filter A 303 and the inter pixel filter B 304 aredeblock filters for smoothing high frequency noise in the vicinity ofthe boundary between blocks to remove block distortion, for example, andtheir smoothing levels are different. Also, their operation processingloads for smoothing are different according to the smoothing levels.Note that the constituent elements shown in this figure such as theswitch 301 and the switch 302 may be implemented either as hardware orsoftware. The same applies to other figures.

The variable length coding unit 305 performs variable length coding, forinstance, Huffman coding of the inputted filter type informationFilterType1, coded differential picture data CodedRes and predictiveparameter data PredParam respectively, and put them together into onecoded data Bitstream1 for outputting the coded data outside the picturecoding apparatus 300.

The operation of the picture coding apparatus 300 structured as above,particularly a part of a new structure, will be explained in more detailby comparing with the conventional picture coding apparatus 100. First,the filter type information FilterType1 is inputted to the picturecoding apparatus 300 from outside. Here, the input from outside means,for example, a user's input using a user interface such as a keyboardfrom outside a picture coding apparatus or data fixed for an apparatus,and a value which is determined by the apparatus depending on a bit rate(compression rate) or a picture size. This filter type informationFilterType1 is inputted to the switch 301 and the switch 302. The switch301 and the switch 302 switch connection to either the “terminal 1” orthe “terminal 2” depending on the value of this filter type informationFilterType1. For example, when the value of the filter type informationFilterType1 is “1”, both the switch 301 and the switch 302 connect tothe terminal “1”. In this case, filtering by the inter pixel filter A303 is applied to the decoded picture data Recon outputted from theadder 105. When the value of the filter type information FilterType1 is“2”, the switch 301 and the switch 302 switch to the terminal “2” side,and filtering by the inter pixel filter B 304 is applied to the decodedpicture data Recon outputted from the adder 105. The filtered decodedpicture data FilteredImg1 which is filtered by the inter pixel filter A303 or the inter pixel filter B 304 is stored in the picture memory 107,and used as a reference picture for predictive coding of the followingpictures. Also, the filter type information FilterType1 specifying aninter pixel filter is inputted to the variable length coding unit 305together with the coded differential picture data CodedRes and thepredictive parameter data PredParam of the same picture for performingvariable length coding of these data respectively. The variable lengthcoding result of the filter type information FilterType1 is stored inthe coded data Bitstream1 by associating with the variable length codingresults of these coded differential picture data CodedRes and predictiveparameter data PredParam, and recorded on a recording medium ortransmitted to a picture decoding apparatus. In other words, the type ofthe inter pixel filter applied to the decoded picture data Recon of eachpicture is notified to the picture decoding apparatus by the filter typeinformation FilterType1 stored in the coded data Bitstream1. Therefore,since the picture decoding apparatus that decodes the coded dataBitstream1 can specify the inter pixel filter which is applied to thedecoded picture data Recon of each picture in the picture codingapparatus 300, it can use the same filter for the decoded picture ofeach picture. Note that although the value of the filter typeinformation FilterType1 is “1” or “2” in the above explanation, this isa value defined just for the sake of explanation, and any other valuesmay be used if a plurality of filters can be discriminated by suchvalues.

As described above, the picture coding apparatus 300, including aplurality of inter pixel filters with different predictive performanceand processing load as inter pixel filters, can use them by switchingthem depending on the filter type information FilterType1 inputted fromoutside. There are following advantages in using the inter pixel filterswith different predictive performance and processing load by switchingthem. First, for explanation, it is assumed that the inter pixel filterA 303 has less processing load than the inter pixel filter B 304, whilethe inter pixel filter B 304 has higher noise suppression effect thanthe inter pixel filter A 303 for improving predictive coding efficiency.As a picture decoding apparatus that decodes the coded data outputtedfrom the picture coding apparatus 300 of the present invention, twotypes of picture decoding apparatus are assumed: a picture decodingapparatus A including only the inter pixel filter A 303; and a picturedecoding apparatus B including both the inter pixel filter A 303 and theinter pixel filter B 304. The former picture decoding apparatus A, whichis required of less processing load, is suitable for an apparatus withlower processing capability. The latter picture decoding apparatus B issuitable for an apparatus with higher processing capability. The latterpicture decoding apparatus B can also decode the coded data obtainedusing either the inter pixel filter A 303 or the inter pixel filter B304, and has upward compatibility with the former picture decodingapparatus A. In such a case, the picture coding apparatus 300 canfunction as a picture coding apparatus which supports both of these twotypes of picture decoding apparatuses. In other words, by structuringthe picture coding apparatus 300 so as to select the inter pixel filterwith appropriate predictive performance and processing load depending onthe processing capability of the target picture decoding apparatus, thecoding method using the same inter pixel filter as applied in thepicture coding apparatus 300 can be applied to a wide variety of devices(to decode the coded data Bitstream1).

Also, the inter pixel filter can be switched depending on the processingcapability of the picture coding apparatus 300 not only for generatingthe coded data depending on the processing capability of the picturedecoding apparatus but for other uses. For example, if a picture sizeand a picture rate to be coded are large, processing load required forentire coding processing becomes large. Therefore, the inter pixelfilter B 304 with high processing capability required is used when thepicture size and the picture rate to be coded are fixed values or less,and the inter pixel filter A 303 with lower processing capabilityrequired is used when the picture size and the picture rate to be codedare fixed values or more, so as to suppress the processing load requiredfor entire coding processing. Or, when picture coding is realized by atime sharing system in which one apparatus executes a plurality ofprocesses by time sharing, there is a possibility that the processingload allocable to picture coding changes dynamically under the influenceof other processes. So, when the processing load allocable to picturecoding is a fixed value or more, the inter pixel filter B 304 with highprocessing load is used, while when the processing load allocable topicture coding is a fixed value or less, the inter pixel filter A 303with less processing load than the inter pixel filter B 304 can be used.

As for timing of switching inter pixel filters, by providing a pluralityof inter pixel filters suitable for pictures of specific properties,they may be switched on a picture-by-picture basis depending on theproperty of each picture. For example, when edge information isimportant such as in the case of characters, an inter pixel filterhaving a good edge preserving is used. They may be switched by automaticjudgment utilizing picture processing techniques such as edge detectionand character detection, or a user may select explicitly from among aninter pixel filter suitable for nature images, an inter pixel filtersuitable for characters and an inter pixel filter suitable for edges. Ifa plurality of inter pixel filters can be switched in this manner, afilter suitable for picture properties can be selected, and thuspredictive efficiency can be further improved. In other words, it isalso effective to switch filters so as to improve picture quality, notto switch them depending on processing load. Therefore, in the presentembodiment, switching of filters depending on processing load has beenexplained, but they may be switched so as to improve picture quality.

In addition, the unit of switching inter pixel filters is not limited toa picture-by-picture basis, but inter pixel filters may be switched inthe unit of an image area smaller than a picture, such as a slice, amacroblock and a block of MPEG, in the unit of an area including atleast one pixel, because picture properties may vary in the part of thepicture.

FIG. 4 is a block diagram showing the structure of a picture codingapparatus 400 that switches inter pixel filters by every slice of aninput picture. The picture coding apparatus 400 is a picture codingapparatus that filters a decoded picture by switching inter pixelfilters in the unit of a slice of MPEG, and is comprised of thedifference calculator 101, the picture coding unit 102, the picturedecoding unit 104, the adder 105, the picture memory 107, the interpicture predicting unit 108, the inter picture prediction estimatingunit 109, a switch 403, a switch 404, the inter pixel filter A 303, theinter pixel filter B 304, the variable length coding unit 305, a filterswitch position judging unit 401 and a switch 402. The filter switchposition judging unit 401 detects slices of an input picture in picturedata Img inputted from outside, and outputs to the switch 402 filterswitch control data SetFType for outputting one pulse, for instance, atevery switch of the detected slices. The switch 402 is a switch which isdisconnected between terminals while the filter switch control dataSetFType is not outputted, and brings the filter type informationFilterType1 inputted from outside into conduction to the switch 403 andthe switch 404 for a fleeting moment while the filter switch controldata SetFType is being outputted. The switch 403 and the switch 404respectively connect their terminals “1” or the terminals “2” dependingon the value of the filter type Information FilterType1 which isinputted instantly at every switch of the slices of the input picturedata Img, and keeps the connection state. In other words, while theswitch 402 is disconnected, the inter pixel filters are not switched. Asa result, a new inter pixel filter is selected according to the filtertype information FilterType1 at every switch of the slices of the inputpicture data Img, and thus the inter pixel filters can be prevented frombeing switched in the middle of the slice.

As explained above, according to the picture coding apparatus of thepresent invention, it becomes possible to create coded data using aninter pixel filter depending on the processing capability of a picturedecoding apparatus that reproduces the coded data outputted from, thepicture coding apparatus of the present invention. Also, the inter pixelfilter can be selected depending on the processing capability of thepicture coding apparatus.

Note that although the picture coding apparatus in the presentembodiment has two inter pixel filters, it may have three or more interpixel filters. In the same manner as the present embodiment, any one ofthe three or more inter pixel filters is selected and used, and thefilter type information indicating the type of the used inter pixelfilter may be included in the coded data.

In addition, filters may be switched so as to improve picture quality,not be switched depending on processing load.

Note that in the picture coding apparatus 400, the filter switch controldata SetFType is a pulse waveform indicating the value “1” at everyswitch of detected slices and “0” during the period other than theswitching moment, but the present invention is not limited to such acase, and it may be a rectangular wave which is inverted at every switchof slices, for example, or any other waveforms. Also, the switch 402 isa switch which is disconnected between terminals while the filter switchcontrol data SetFType is in the same phase, but the present invention isnot limited to such a case, and the filter switch position judging unit401 may output the filter switch control data SetFType indicating thevalue for disconnecting the switch 402 at the positions other than thefilter switch position. In addition, in the picture coding apparatus400, the inter pixel filters are switched on a slice-by-slice basis ofthe picture data Img, but the inter pixel filters may be switched on apicture-by-picture basis, or may be switched in the unit of a block, amacroblock or a fixed number of pixels.

FIG. 5A is a diagram showing the stream structure of coded dataBitstream outputted by the picture coding apparatus of the presentinvention. FIG. 5B is a diagram showing the stream structure of codeddata Bitstream outputted when the picture coding apparatus of thepresent invention switches inter pixel filters in the unit of a slice.The feature of the coded data of the present invention is that the codeddata Bitstream includes filter type information FilterType specifyingone of a plurality of inter pixel filters. Thanks to this streamstructure, the picture decoding apparatus of the present invention thatdecodes the coded data Bitstream can use the same inter pixel fitter asthat used for coding, by checking the filter type information FilterTypeincluded in the coded data Bitstream.

In the coded data Bitstream as shown in FIG. 5A, the value of the filtertype information FilterType indicating the inter pixel filter used forfiltering each picture is described in (a diagonally shaded area, forinstance, of) the header 901 which is attached to the entire coded dataBitstream. This coded data Bitstream corresponds to the coded dataBitstream1 outputted from the picture coding apparatus 300 as shown inFIG. 3. Also, in the coded data Bitstream as shown in FIG. 5B, the valueof the filter type information FilterType indicating the inter pixelfilter used for filtering that slice is described in (a diagonallyshaded area, for instance, of) the slice header 902 provided to eachslice. This coded data Bitstream corresponds to the coded dataBitstream1 outputted from the picture coding apparatus 400 as shown inFIG. 4. As just described, by storing the filter type informationFilterType in the header 901 at the head of the coded data Bitstream orthe slice header 902 at the head of each slice that is not only thebasic unit of recording and transmitting data but also the unit ofcorrecting and modifying errors, the picture decoding apparatus canspecify the filtering type of a slice before decoding the slice byreceiving coded data Bitstream from the header 901 or the slice.

Note that it has been explained here that an inter pixel filter isswitched in the unit of a slice, but it may be switched not only in theunit of a slice but also in the unit of an image area smaller than aslice (the unit may be an area including one or more pixels, such as amacroblock and a block of MPEG). Also, it may be switched picture bypicture that is the unit of an image area larger than a slice. In thiscase, the value of the filter type information FilterType1 correspondingto each picture may be described not only in (a diagonally shaded area,for instance, of) the header 901 as shown in FIG. 5A but also in apicture header provided for each coded picture data, for example. Inaddition, when a filtering method is switched in the unit of amacroblock or a block, the value of the filter type informationFilterType1 of each macroblock or block may be put together per sliceand described in the slice header.

Furthermore, for transmitting the coded data in the form of packet orthe like, the header and the data may be transmitted separately. In thiscase, the header and the data are not included in one bit stream asshown in FIG. 5. However, in the case of packet transmission, the headerpaired with the data is just transmitted in another packet even if thepackets are transmitted somewhat out of sequence, and thus the conceptis same as the case of the bit stream explained in FIG. 5 even if theyare not transmitted as one bit stream.

As explained above, by setting the value of the filter type informationFilterType1 inputted to the picture coding apparatus of the presentinvention so as to select an inter pixel filter depending on theprocessing capability of the picture decoding apparatus, it becomespossible to create coded data depending on the processing capability ofthe picture decoding apparatus that reproduces the coded data outputtedby the picture coding apparatus of the present invention. Also, an interpixel filter can be selected depending on the processing capability ofthe picture coding apparatus.

In addition, a filter may be switched so as to improve picture quality,not be switched depending on processing load.

FIG. 6 is a block diagram showing the structure of a picture decodingapparatus 1000 that decodes the coded data Bitstream1 generated by thepicture coding apparatus according to the first embodiment. The picturedecoding apparatus 1000 is a picture decoding apparatus that switches aninter pixel filter picture by picture or slice by slice according to thefilter type information filterType1 described in the header of theinputted coded data Bitstream1 and decodes the coded data in the codeddata Bitstream1, and is comprised of the variable length decoding unit201, the picture decoding unit 202, the adder 203, the picture memory205, the inter picture predicting unit 206, a switch 1001, a switch1002, an inter pixel filter A 1003 and an inter pixel filter B 1004.

The coded data Bitstream1 is inputted to the picture decoding apparatus1000 from outside. This coded data Bitstream1, for example, is the datacoded by the picture coding apparatus 300 or the picture codingapparatus 400 in the first embodiment. The variable length decoding unit201 performs variable length decoding of the inputted coded dataBitstream1, separates it into coded differential picture data CodedRes,predictive parameter data PredParam and filter type informationFilterType1, and outputs the coded differential picture data CodedRes tothe picture decoding unit 202, the predictive parameter data PredParamto the inter picture predicting unit 206, and the filter typeinformation FilterType1 to the switch 1001 and the switch 1002,respectively. When the value “1” is inputted as the filter typeinformation FilterType1, the switch 1001 and the switch 1002 change theconnection to the terminal “1” side, and apply filtering by the interpixel filter A 1003 to the decoded picture data Recon. When the value“2” is inputted as the filter type information FilterType1, the switch1001 and the switch 1002 change the connection to the terminal “2” sideand apply filtering by the inter pixel filter B 1004 to the decodedpicture data Recon. Regardless of whether an inter pixel filteroperation is performed by either inter pixel filter, the filtereddecoded picture data FilteredImg1 is stored in the picture memory 205and outputted outside the picture decoding apparatus 1000, for instance,a display apparatus or the like.

As explained above, according to the picture decoding apparatus 1000 ofthe present invention, it becomes possible to decode the coded dataBitstream1 including the filter type information filterType1 specifyingthe type of the inter pixel filter in the header.

Note that although the picture decoding apparatus of the presentembodiment includes two inter pixel filters, it may include three ormore inter pixel filters. In this case, in the same manner as thepresent embodiment, one of three or more inter pixel filters may beselected according to the filter type information in the coded dataBitstream and used.

Note that as shown in the first embodiment, when the filter type isswitched in the unit of a picture or the unit of an image area smallerthan a picture, the inter pixel filter is switched at the time pointwhen the filter type is changed.

FIG. 7 is a block diagram showing the structure of a picture decodingapparatus 1100 that uses a built-in inter pixel filter in place of aspecified inter pixel filter if such a filter is not integrated. Thepicture decoding apparatus 1100 is characterized in that it uses any oneof the inter pixel filters built in itself instead if the inter pixelfilter selected by the filter type information included in the codeddata is not built in itself. This picture decoding apparatus 1100includes the variable length decoding unit 201, the picture decodingunit 202, the adder 203, the picture memory 205, the inter picturepredicting unit 206, the switch 1001, the switch 1002, the inter pixelfilter A 1003, the inter pixel filter B 1004 and a filter typeinformation converting unit 1101.

For example, it is assumed that the picture decoding apparatus 1100includes only two types of the inter pixel filter A 1003 and the interpixel filter B 1004 indicated by the value “1” and the value “2” of thefilter type information FilterType1. Coded data Bitstream3 is inputtedto the picture decoding apparatus 1100 from outside. The variable lengthdecoding unit 201 performs variable length decoding of the inputtedcoded data Bitstream3, separates it into coded differential picture dataCodedRes, predictive parameter data PredParam and filter typeinformation FilterType3, and outputs the coded differential picture dataCodedRes to the picture decoding unit 202, the predictive parameter dataPredParam to the inter picture predicting unit 206, and the filter typeinformation FilterType3 to the filter type information converting unit1101, respectively. When the value of the filter type information.FilterType3 is the value “3” indicating an inter pixel filter not builtin the picture decoding apparatus 1100, the filter type informationconverting unit 1101 converts the value “3” of the filter typeinformation FilterType3 into the value “2” indicating the inter pixelfilter whose smoothing level is most approximate to that of thespecified inter pixel filter from among the inter pixel filters built inthe picture decoding apparatus 1100, for example, and outputs it asfilter type information FilterType4.

By performing this conversion processing, decoding processing toreconstruct a picture closely to the original decoded picture ispossible although picture quality is degraded to some extent because aninter pixel filter different from that for coding is used in the picturedecoding apparatus 1100, so there is enough availability as a simplepicture decoding function. When the value “1” is inputted as the filtertype information FilterType4, both the switch 1001 and the switch 1002change the connection to the terminal “1” side, and apply the filteringby the inter pixel filter A 1003 to the decoded picture data Recon. Whenthe value “2” is inputted as the filter type information FilterType4,both the switch 1001 and the switch 1002 change the connection to theterminal “2” side, and apply the filtering by the inter pixel filter B1004 to the decoded picture data Recon. Filtered decoded picture dataFilteredImg3 that is the processing result by the inter pixel filter isoutputted to a display apparatus or the like outside the picturedecoding apparatus 1100.

As explained above, according to the picture decoding apparatus 1100,even if the filter type information FilterType3 specifying an interpixel filter which is not built in the picture decoding apparatus 1100is included in the input coded data Bitstream3, it can be decoded usinga built-in inter pixel filter instead. Therefore, coded data Bitstreamcan be decoded without degrading the picture quality substantially.

Note that when the picture decoding apparatus 1100 has one inter pixelfilter (including the case of no inter pixel filter operation), decodingcan be performed using that inter pixel filter forcedly.

Note that the picture decoding apparatus of the present embodiment isequipped with two inter pixel filters (the case of no inter pixel filteroperation is counted as one filter), but the picture decoding apparatusequipped with three or more inter pixel filters can perform the sameprocessing. In other words, the processing of storing the decodedpicture data Recon in the picture memory 205 as it is without beingperformed of inter pixel filter operation may be included as one of theprocessing of the inter pixel filter.

Note that as shown in the first embodiment, if the filter type isswitched in the unit of a picture or the unit of an image area smallerthan a picture, an inter pixel filter is switched at the point ofchanging the filter type.

The operation of the inter pixel filters 303, 304, 1003 and 1004 will beexplained in more detail using FIG. 9 and FIG. 10. FIG. 9 is a diagramshowing the operation details of a deblock filter that is an example ofan inter pixel filter. FIG. 9A is a diagram showing pixel values in thevicinity of the boundary between blocks before filtering. FIG. 9B is adiagram showing pixel values in the vicinity of the boundary betweenblocks after filtering. FIG. 10 is a flowchart showing a flow offiltering processing by an inter pixel filter. FIG. 9A shows pixelvalues of respective pixels 601˜608 on one horizontal scanning line. Thepixels 601˜604 are all pixels in a block 610, but the pixels 605˜608 arepixels in a block 611 adjacent to the block 610. The pixel values of thepixels 601˜604 are respectively p3, p2, p1 and p0, and the pixel valuesof the pixels 605˜608 are respectively q0, q1, q2 and q3. In a picturecoding apparatus, processing such as inter picture prediction, picturecoding, variable length coding and picture decoding is generallyperformed in the unit of a block (or macroblock). Therefore, codingnoise is apt to appear in the higher frequencies between pixels, such asthe pixel 604 and the pixel 605, across the boundary between adjacentblocks (or macroblocks), such as the block 610 and the block 611. Forexample, there is a tendency that the difference between the pixel valuep0 of the pixel 604 and the pixel value q0 of the pixel 605 is apt toincrease due to the influence of the coding noise. Therefore, an interpixel filter is a filter that can be determined using a plurality ofparameters, for example, a filter corresponding to parameters α and βfor determining the filter, and pixel values of a group of pixels acrossthe block boundary are filtered by this inter pixel filter.

As shown in FIG. 10, an inter pixel filter first calculates the absolutevalue of the difference of the pixel values (p0−q0) between the pixel604 and the pixel 605 across the boundary, and judges whether thecalculated absolute value is less than the value of the parameter a ornot (S701). As a result of the judgment, if the absolute value of thedifference (p0−q0) between the pixel values is the value of theparameter α or more, the inter pixel filter does not perform deblockfilter processing for the-pixel value represented by the decoded picturedata Recon (S704). On the other hand, as a result of the judgment inStep S701, if the absolute value of the difference (p0−q0) between thevalues of adjacent pixels across the block boundary is less than thevalue of the parameter α, the inter pixel filter further calculates theabsolute value of the difference (p1−p0) between the values of the pixel604 and the pixel 603, and judges whether the calculated absolute valueis less than the value of the parameter β or not (S702). Here, the pixel604 and the pixel 603 are adjacent pixels in one block 610. As a resultof the judgment, if the absolute value of the difference (p1−p0) betweenthe pixel values is the value of the parameter β or more, the interpixel filter 503 does not perform deblock filter processing for thepixel value represented by the decoded picture data Recon (S704). Also,as a result of the judgment, if the absolute value of the difference(p1−p0) between the pixel values is less than the value of the parameterβ, it further calculates the absolute value of the difference (q1−q0)between the pixel 605 and the pixel 606, and judges whether thecalculated absolute value is less than the value of the parameter β ornot (S703). Here, the pixel 605 and the pixel 606 are adjacent pixels inone block 611. As a result of the judgment, if the absolute value of thedifference (q1−q0) of the pixel values is the value of the parameter βor more, the inter pixel filter does not perform deblock filterprocessing for the pixel value represented by the decoded picture dataRecon (S704). On the other hand, if the absolute value of the difference(q1−q0) between the pixel values is less than the value of the parameterβ, the inter pixel filter 503 performs filtering for the decoded picturedata Recon to remove coding noise, and ends the processing. The interpixel filter repeats the above-mentioned processing for every pixelarray in the horizontal scanning line direction and vertical scanningline direction respectively across the block boundaries. In this manner,by performing deblock filter processing when any one of the differencesof values of three sets of adjacent pixels is less than a fixed value,block distortion is removed.

Note that in the deblock filter processing in the above Step S704,smoothing filtering (filtering for suppressing high frequencycomponents) is performed for the pixels in the vicinity of the boundary.For example, a new pixel value P0 of the pixel 604 can be generated bysmoothing, using a low pass filter for suppressing high frequencycomponents for the pixel value p0 of the pixel 604, the pixel value q0of the pixel 605, the pixel value p1 of the pixel 603 and the pixelvalue q1 of the pixel 606.

Second Embodiment

FIG. 8 is a block diagram showing the structure of a picture codingapparatus 500 according to the second embodiment. The picture codingapparatus 500 is different from the picture coding apparatus 300 in thatas inter pixel filter processing, the former can select whether or notstoring the decoded picture data Recon in the picture memory 107 as itis as reference picture data Ref. The picture coding apparatus 500 iscomprised of the difference calculator 101, the picture coding unit 102,the picture decoding unit 104, the adder 105, the picture memory 107,the inter picture predicting unit 108, the inter picture predictionestimating unit 109, a switch 501, a switch 502, an inter pixel filter503, a look up table memory unit 504, and a variable length coding unit505.

When the value of the filter type information FilterType2 is “0”, boththe switch 501 and the switch 502 change the connection to the terminal“0” side to store the decoded picture data Recon outputted from theadder 105 as it is in the picture memory 107. When the value of thefilter type information FilterType2 is “1”, both the switch 501 and theswitch 502 change the connection to the terminal “1” side to bring thedecoded picture data Recon outputted from the adder 105 to conduct tothe inter pixel filter 503. The inter pixel filter 503 is a filter usedfor filtering pixel values and, for example, a deblock filter forsuppressing coding noise in the higher frequency components on the blockboundary. The filtered decoded picture data FilteredImg2 which isperformed of inter pixel filter operation by the inter pixel filter 503is stored in the picture memory 107. The variable length coding unit 505performs variable length coding of this filter type informationFilterType2, the coded differential picture data CodedRes and thepredictive parameter data PredParam, puts them together into one codeddata Bitstream2 as shown in FIG. 5A, and outputs it outside the picturecoding apparatus 500.

Note that the picture coding apparatus 500 has one inter pixel filter,but it may have two or more inter pixel filters. It may select any oneof the two or more inter pixel filters or no inter pixel filteroperation to use it, and include the filter type information indicatingthe type of the used inter pixel filter (including no inter pixel filteroperation) into the coded data. Also, the picture coding apparatus 500may omit the look up table memory unit 504, and instead have thefunction of the look up table memory unit 504 in the inter pixel filter503.

As explained above, in the picture coding apparatus 500 of the presentinvention, it becomes possible to create coded data using an inter pixelfilter depending on the processing capability of the picture decodingapparatus for reproducing the coded data Bitstream2 outputted from thatpicture coding apparatus 500. Also, an inter pixel filter can beselected depending on the processing capability of the picture codingapparatus 500. Also, the filter type may be switched in the unit of apicture or the unit of an image area smaller than a picture.

FIG. 11 is a block diagram showing the structure of a picture decodingapparatus 1200 according to the second embodiment that can selectwhether inter pixel filter processing is to be performed or not. Thepicture decoding apparatus 1200 is different from the picture decodingapparatus 1000 in FIG. 6 in that the former does not perform inter pixelfilter operation as inter pixel filter processing, but can selectstoring the decoded picture data Recon as it is in the picture memory205 as reference picture data Ref. The picture decoding apparatus 1200is comprised of the variable length decoding unit 201, the picturedecoding unit 202, the adder 203, the picture memory 205, the interpicture predicting unit 206, a switch 1201, a switch 1202 and an interpixel filter 1203.

The coded data Bitstream2 whose header includes the filter typeinformation FilterType2 indicating the inter pixel filter applied to thecoding, for example, the coded data in FIG. 9A which is coded by thepicture coding apparatus 500 in FIG. 8, is inputted to the picturedecoding apparatus 1200. The filter type information. FilterType2includes the value indicating “no inter pixel filter operation” as afilter type. The variable length decoding unit 201 performs variablelength decoding of the inputted coded data Bitstream2, and separates itinto coded differential picture data CodedRes, predictive parameter dataPredParam and filter type information FilterType2. The separated codeddifferential picture data CodedRes, predictive parameter data PredParamand filter type information FilterType2 are respectively outputted tothe picture decoding unit 202, the inter picture predicting unit 206,and the switch 1201 and the switch 1202.

When the value “0” is inputted as the filter type informationFilterType2, the switch 1201 and the switch 1202 both change theconnection to the terminal “0” side, and the decoded picture data Reconoutputted from the adder 203 is stored as it is in the picture memory205. When the value “1” is inputted as the filter type informationFilterType2, the switch 1201 and the switch 1202 both change theconnection to the terminal “1” side to apply the filtering by the interpixel filter 1203 to the decoded picture data Recon.

Also, if it is judged from the filter type information that an interpixel filter is not used for a decoded picture which is to be areference picture, the decoded picture is not filtered by the interpixel filter for storing that picture in the picture memory as areference picture, but the inter pixel filter may be used only foroutputting it outside a picture decoding apparatus. FIG. 12 is a blockdiagram showing the structure of a picture decoding apparatus 1300including a picture output unit equipped, with selectable inter pixelfilters. As explained above, the picture decoding apparatus 1300 is apicture decoding apparatus that, when the filter type informationfilterType2 indicates that the decoded picture outputted from the adder203 is not filtered by an inter pixel filter, does not perform filteringof the decoded picture stored in the picture memory but performsfiltering of the decoded picture outputted outside using an inter pixelfilter provided at the output side, and is comprised of the variablelength decoding unit 201, the picture decoding unit 202, the adder 203,the picture memory 205, the inter picture predicting unit 206, theswitch 1201, the switch 1202, the inter pixel filter 1203, a switch1301, a switch 1302 and an inter pixel filter 1303.

When the value of the filter type information FilterType2 is “1”, theswitch 1201, the switch 1202, the switch 1301 and the switch 1302 allchange the connection to the terminal “1” side. In this case, the switch1201 and the switch 1202 connect the output of the adder 203, the interpixel filter 1203 and the picture memory 205, and the switch 1302interrupts the connection with the output of the switch 1202 and theinter pixel filter 1303 to short-circuit with the switch 1301.Therefore, the inter pixel filter 1203 performs filter operation for thedecoded picture data Recon and outputs the filtered decoded picture dataFilteredImg3. The filtered decoded picture data FilteredImg3 isoutputted as an output picture OutImg to a display apparatus or the likeoutside the picture decoding apparatus as it is, that is, without beingfiltered again by the inter pixel filter 1303. When the value of thefilter type information FilterType2 is “0”, the switch 1201, the switch1202, the switch 1301 and the switch 1302 all change the connection tothe terminal “0” side. In this case, the switch 1201 interrupts theconnection with the output of the adder 203 and the inter pixel filter1203 to short-circuit with the switch 1202. On the other hand, theswitch 1302 connects the output of the switch 1202, the inter pixelfilter 1303 and the external output terminal of the switch 1301.Therefore, the decoded picture data Recon outputted from the adder 203is not performed of the inter pixel filter operation by the inter pixelfilter 1203, but stored as it is in the picture memory 205 as areference picture. The decoded picture data Recon which is taken out ofthe output side of the switch 1202, that is, the filtered decodedpicture data FilteredImg3 which has not filtered actually is performedof the inter pixel filter operation by the inter pixel filter 1303, andoutputted as an output picture OutImg to a display apparatus or the likeoutside the picture decoding apparatus 1300.

Note that the inter pixel filter 1203 and the inter pixel filter 1303are described here as different constituent elements for explanation,but one inter pixel filter may be used for implementation (there is noproblem to use one inter pixel filter because two inter pixel filters donot operate at the same time). Also, the inter pixel filter 1203 and theinter pixel filter 1303 may be the existing inter pixel filter 106, orthe inter pixel filter 503 including the look up table memory unit 504as shown in FIG. 8. Furthermore, it may be the inter pixel filter 503including the look up table memory unit 504 for holding a plurality ofparameter tables 620. However, in this case, the filter type informationFilterType2′ needs to be inputted to the inter pixel filter 503 also.

As explained above, according to the picture decoding apparatus 1300,even in the case where filtering is not performed for a decoded picturewhich is to be a reference picture, filtering by an inter pixel filtercan be performed for the decoded picture, so a display apparatus fordisplaying an output picture OutImg outputted from the picture decodingapparatus 1300 can display moving pictures with higher picture quality.This is particularly effective for devices with enough processingcapability when filtering is not to performed for a decoded picturewhich is to be a reference picture.

Note that, as shown in the first embodiment, when the type of an interpixel filter indicated by the filter type information FilterType2 isswitched in the unit of a picture or in the unit of an image areasmaller than a picture, the inter pixel filter is switched at the timeof changing the filter type.

FIG. 13 is a block diagram showing the structure of a picture decodingapparatus 1400 capable of selecting the inter pixel filter 1203depending on a picture type of each picture. The picture decodingapparatus 1400 is a picture decoding apparatus that decodes informationon whether a decoded picture is used as a reference picture or not, forexample, coded data including a picture type of each picture and thelike, and is comprised of the picture decoding unit 202, the adder 203,the picture memory 205, the inter picture predicting unit 206, the interpixel filter 1203, a variable length decoding unit 1401, a switch 1402,a switch 1403 and a picture type information converting unit 1404.

The variable length decoding unit 1401 performs variable length decodingof coded data Bitstream4 inputted from outside, and separate it intopicture type information PType, coded differential picture data CodedResand predictive parameter data PredParam. The separated picture typeinformation PType, coded differential picture data CodedRes andpredictive parameter data PredParam are outputted respectively to thepicture type information converting unit 1404, the picture decoding unit202 and the inter picture predicting unit 206. The picture typeinformation Ptype is the information indicating whether a currentpicture is used as a reference picture or not. For example, according tointernational standards, MPEG-1 and 2, information called a picture typeis included in coded data of every picture, and a picture called aB-picture is not used as a reference picture. Therefore, this picturetype included in the coded data may be used as the picture typeinformation PType of the present embodiment. Even if filtering by meansof an inter pixel filter is not performed for a picture which is notused as a reference picture, it does not have so serious influence ondecoding of other pictures.

Here, the picture decoding apparatus 1400 does not perform inter pixelfiltering if the current picture is not used as a reference picture. Forexample, when the processing capability of the picture decodingapparatus 1400 is too low to execute decoding in time for reproductiontime, the processing load on the picture decoding apparatus 1400 can bereduced by not performing filtering by means of an inter pixel filterfor pictures which are not used as reference pictures. It will beexplained using the block diagram of FIG. 13. First, if the picture typeinformation Ptype inputted to the picture type information convertingunit 1404 indicates a picture other than a B-picture, that is, if itindicates that the current picture is used as a reference picture, boththe switch 1402 and the switch 1403 change the connection to theterminal “1. Thereby, the picture decoding apparatus 1400 performs interpixel filter operation for the decoded picture data Recon using theinter pixel filter 1203, and stores the operation result in the picturememory 205 as filtered decoded picture data FilteredImg5 and outputs itto a display apparatus or the like outside the picture decodingapparatus 1400. On the other hand, if the picture type information Ptypeindicates that the current picture is a B-picture, that is, it indicatesthe current picture is not used as a reference picture, the switch 1402and the switch 1403 change the connection to the terminal “0”, and thedecoded picture data Recon outputted from the adder 105 is outputteddirectly to outside without using the inter pixel filter 1203.

As mentioned above, since the picture decoding apparatus 1400 omitsfiltering by means of the inter pixel filter 1203 for a B-picture whichis hardly referred to by other pictures, processing load required fordecoding coded data Bitstream can be reduced without giving a greatinfluence on decoding of other pictures. Also, since the picturedecoding apparatus 1400 selects an inter pixel filter depending on apicture type of coded data in this manner, filtering processing load canbe reduced even for coded data outputted from a conventional picturecoding apparatus, with its header information such as a picture headernot including selection information of an inter pixel filter, becausefiltering processing is omitted for pictures which are not referred to.

Note that it is not necessary to store pictures which are not referredto in the picture memory 205 in FIG. 13, for example, regardless ofwhether filtering processing is performed for the pictures or not.Therefore, it is necessary to store, in the picture memory 205, onlydata obtained by performing filtering processing for pictures which arereferred to.

Note that, in the strict sense, a B-picture does not mean a picturewhich is not referred to, but a picture coding method in which aB-picture is referred to can be conceived. Therefore, if an inter pixelfilter is not selected just depending on a picture type, but it isjudged whether the picture is actually referred to or not, moreappropriate processing can be performed even when a B-picture isreferred to. However, even when a B-picture is referred to, an interpixel filter may be switched just depending on a picture type forsimplifying the implementation.

Also, whether inter pixel filtering is to be performed or not is notswitched, but two filters, the inter pixel filter 1003 and the interpixel filter 1004 may be switched depending on a picture type or whethera picture is referred to or not, as shown in FIG. 6 or FIG. 7.

Furthermore, an example of a picture decoding apparatus that switches aninter pixel filter depending on a picture type and whether a picture isreferred to or not has been explained, but a picture coding apparatuscan also perform this switching in the same manner.

Third Embodiment

FIG. 14 is a block diagram showing the functional structure of a picturecoding apparatus 1500 according to the third embodiment of the presentinvention. The picture coding apparatus 1500 is realized by a computerapparatus equipped with a CPU, a memory, a hard disk (HD) on which aprogram for picture coding is installed and others, and has, asfunctions for that, an operation console unit 1505, a pre-processingunit 1510, a subtracting unit 1512, an orthogonal transformation unit1513, a quantization unit 1514, a variable length coding unit 1517, apost-processing unit 1520, an inverse quantization unit 1521, an inverseorthogonal transformation unit 1522, an adding unit 1524, a switchingunit 1530, an inter pixel filter 1540, a picture memory 1541, a motionestimation unit 1542, a motion compensation unit 1543, a prioritydetermining unit 1550 and a filter processing controlling unit 1560.

The operation console unit 1505 accepts an operator's entry operation.The pre-processing unit 1510 is equipped with a format converting unitfor converting a format of an inputted picture signal into a spaceresolution designated by the operation on the operation console unit1505, a picture reordering unit for reordering pictures in accordancewith picture types and others, and outputs pictures or the like insequence.

Note that there are the following types of pictures: an I-picture (IntraPicture: intra coded picture) which is created in the intra picturecoding mode; a P-picture (Predictive Picture: predictive coded picture)which is created in the inter picture coding mode and refers to only onepicture; and a B-picture (Bi Predictive Picture: plural predictivepicture) which can also refer to a backward picture, and at the time ofmotion estimation in the inter picture coding mode, the number ofdecoded pictures, stored in the picture memory 1541, which can bereferred to at the same time by the motion estimation unit 1542, isrestricted.

Also, in coding a picture, there are a mode for coding it using threetypes of pictures (hereinafter also referred to as an “IPB coding mode”)and a mode for coding it using only two types of pictures, an I-pictureand a P-picture. As the mode for coding it using only two types ofpictures, an I-picture and a P-picture, there are a mode for coding aP-picture which has a possibility of being referred to and a P-picturewhich has no possibility of being referred to (hereinafter also referredto as a “first IP coding mode”) and a mode for coding a P-picture in thebase layer in layered coding, a P-picture which has a possibility ofbeing referred to and a P-picture which has no possibility of beingreferred to in the enhancement layer (hereinafter also referred to as a“second IP coding mode”). In layered coding, pictures are classifiedinto two groups, a base layer and an enhancement layer, and the baselayer is a group of pictures which can be reproduced by themselves andthe enhancement layer is a group of pictures which require the group ofpictures on the base line for coding and decoding. The layered coding ischaracterized in that, since the number of bits only for the base layeris small but the number of bits for both the base layer and theenhancement layer is large and the number of pictures is large, twotypes of uses can be easily realized by recording and transmitting thebase line in all cases and recording and transmitting the enhancementlayer only when necessary for high picture quality.

In the case of the first IP coding mode, information of “possibility” or“no possibility” is added to a picture and information of “possibility”or “no possibility” is added to a picture type as well. Also, in thecase of the second IP coding mode, information of “base”, “possibility”or “no possibility” is added to a picture and information of “base”,“possibility” or “no possibility” is added to a picture type as well.

The subtracting unit 1512 outputs the picture outputted from thepre-processing unit 1510 as it is in the intra picture coding mode, andcalculates a motion compensation error (residual image) that is adifferential value between the picture and the motion compensationpicture outputted from the motion compensation unit 1543 in, the interpicture coding mode.

The orthogonal transformation unit 1513 outputs frequency components inthe frequency domain which are resulted by performing orthogonaltransformation such as discrete cosine transformation for the picture inthe intra picture coding mode and the motion compensation error in theinter picture coding mode, which are outputted from the subtracting unit1512, respectively. The quantization unit 1514 outputs a quantized valueby quantizing the frequency components outputted from the orthogonaltransformation unit 1513. The variable length coding unit 1517 outputs acoded signal for which further information compression is performedusing a variable length code (Huffman code) which assigns code length tothe quantized value outputted from the quantization unit 1514 dependingon its occurrence frequency. The post-processing unit 1520 is equippedwith a buffer for temporarily memorizing the coded signal or the like, arate controlling unit for controlling a quantization range in thequantization unit 1514, and others, and transforms the abovementionedmotion vector, picture type or the like, and the coded signal outputtedfrom the variable length coding unit 1517 into a coded signal as a bitstream and outputs it.

The inverse quantization unit 1521 decodes the frequency components byinverse quantizing the quantized value generated by the quantizationunit 1514. The inverse orthogonal transformation unit 1522 decodes thepicture in the intra picture coding mode and the motion compensationerror (residual image) that is the differential value of pixels in theinter picture coding mode, by performing inverse orthogonaltransformation of the frequency components decoded by the inversequantization unit 1521. The adding unit 1524 decodes the picture, byoutputting the picture (decoded picture) which is decoded by the inverseorthogonal transformation unit 1522 as it is in the intra picture codingmode, and by adding the residual image which is decoded by the inverseorthogonal transformation unit 1522 and the motion compensation picturewhich is generated by the motion compensation unit 1543 in the interpicture coding mode.

The switching unit 1530 is comprised of a pair of switches 1531 and 1532for switching the switching status synchronously under the switch ON/OFFcontrol of the filter processing controlling unit 1560 for everypicture, and incorporates the inter pixel filter 1540 into a loop, oromits it from a loop, that is, makes the inter pixel filter 1540 skipits processing. The inter pixel filter 1540 performs spatial low passfilter processing for the decoded picture outputted from the adding unit1524 on a block by block basis when the switches 1531 and 1532 are ON soas to generate the decoded picture without block distortion or the like.For example, it calculates an average value between a pixel andneighboring pixels, and if the difference between the pixel and aneighboring pixel is within a predetermined range, it executes theprocessing of replacing every pixel around the block boundary with thecalculated average value.

The picture memory 1541 stores a plurality of the decoded picturesoutputted from the switching unit 1530. Thereby, it becomes possible tomonitor the decoded picture in the same condition as the picturedecoding apparatus that decodes the coded signal outputted from thepost-processing unit 1520 or use the decoded picture as a referencepicture in the inter picture coding mode. Note that in the first IPcoding mode and the second IP coding mode, a decoded P-picture to whichthe information indicating reference possibility is added is alwaysstored in the picture memory 1541, and a decoded P-picture to which theinformation indicating no reference possibility is added does not needto be stored in the picture memory 1541. Therefore, the information ofpossibility or no possibility means whether the decoded picture isstored in the picture memory 1541 or not:

In the inter picture coding mode, the motion estimation unit 1542searches for a reference picture whose difference from the pictureoutputted from the pre-processing unit 1510 is smallest from among thedecoded pictures stored in the picture memory 1541, and outputs a motionvector that is the motion amount of a differential pixel. Note that whenthe motion vector is outputted, a block prediction type indicatingwhether the reference picture is a forward picture, a backward pictureor the average value between both pictures is outputted. The motioncompensation unit 1543 performs the operation indicated by the motionvector and the block prediction type, and generates a motioncompensation picture. The priority determining unit 1550 outputs thepriority of a picture depending on the picture type, and the base layeror the enhancement layer. The filter processing controlling unit 1560controls ON/OFF of the switches 1531 and 1532 depending on the priorityoutputted from the priority determining unit 1550 or the CPU operationrate.

FIG. 15 is a block diagram showing the detailed functional structure ofthe priority determining unit 1550 as shown in FIG. 14. As shown in thisfigure, the priority determining unit 1550 outputs the priority of apicture depending on the picture type and the base layer or theenhancement layer, and is comprised of three tables 1551˜1553, aselector 1554and a determination processing unit 1555, as shown in FIG.15. Note that in the case of a P-picture in the second IP coding mode,the information indicating “base”, “possibility of being referred to” or“no possibility of being referred to” is added to its picture type.

The table 1551 is a table which is selected when the IPB coding mode isdesignated by the operation on the operation console unit 1505 and inwhich the picture types of pictures are associated with the prioritiesthereof, and the priorities are set to “0” for I-pictures, “1” forP-pictures and “2” for B-pictures. Note that the priorities are set sothat they become lower as the number becomes larger.

The table 1552 is a table which is selected when the first IP codingmode is designated by the operation on the operation console unit 1505and in which the picture types of pictures are associated: with thepriorities thereof, and the priorities are set to “0” for I pictures,“1” for P-pictures (which have a possibility of being referred to) and“2” for P-pictures (which have no possibility of being referred to).

The table 1553 is a table which is selected when the second IP codingmode (base, reference possibility and no reference possibility) isdesignated, and the priorities are set to “0” for I-pictures, “1” forP-pictures (base), “2” for P-pictures (which have a possibility of beingreferred to) and “3” for P-pictures (which have no possibility of beingreferred to).

The selector 1554 selects any one of the tables 1551˜1553 based on thecoding mode (the IPB coding mode or the first IP coding mode) designatedby the operation console unit 1505. The determination processing unit1555 determines the priority depending on the picture type and the baselayer or the enhancement layer outputted from the pre-processing unit1510 with reference to the table selected by the selector 1554, andoutputs the determined priority. Specifically, when the IPB coding modeis designated, the selector 1554 selects the table 1551, and thedetermination processing unit 1555 outputs the priority associated withan I-picture, a P-picture or a B-picture every time the picture type isoutputted from the pre-processing unit 1510. Also, when the first IPcoding mode is designated, the selector 1554 selects the table 1552, andthe determination processing unit 1555 outputs the priority based on thepicture type and the data added to a P-picture (“possibility” or “nopossibility”). Further, when the second IP coding mode is designated,the selector 1554 selects the table 1553, and the determinationprocessing unit 1555 outputs the priority based on the picture type andthe data added to a P-picture (“base”, “possibility” or “nopossibility).

FIG. 16 is a block diagram showing the detailed functional structure ofthe filter processing controlling unit 1560 as shown in FIG. 14. Asshown in this figure, the filter processing controlling unit 1560controls ON/OFF of the switches 1531 and 1532 in accordance with thepriority outputted from the priority determining unit 1550 and the CPUoperation rate, and is comprised of three tables 1561˜1563, a selector1564 and a switch change processing unit 1565, as shown in FIG. 16. Thetable 1561 is a table which is selected when the IPB coding mode isdesignated and indicates combinations of the priorities and CPUoperation rates for performing filter processing, and it is set toswitch ON for the priority 0˜2 when the CPU operation rate is less than70%, switch ON only for the priorities 0 and 1 when the CPU operationrate is 70% or more and less than 80%, and switch ON only for thepriority 0 when the CPU operation rate is 80% or more.

The table 1562 is a table which is selected when the first IP codingmode is designated and indicates combinations of the priorities and CPUoperation rates for performing filter processing, and it is set toswitch ON for the priorities 0˜2 when the CPU operation rate is lessthan 70%, switch ON only for the priorities 0 and 1 when the CPUoperation rate is 70% or more and less than 80%, and switch ON only forthe priority 0 when the CPU operation rate is 80% or more.

The table 1563 is a table which is selected when the second IP codingmode is designated and indicates combinations of the priorities and CPUoperation rates for performing filter processing, and it is set toswitch ON for the priorities 0˜3 when the CPU operation rate is lessthan 70%, switch ON only for the priorities 0, 1 and 2 when the CPUoperation rate is 70% or more and less than 80%, and switch ON only forthe priorities 0 and 1 when the CPU operation rate is 80% or more.

The selector 1564 selects any one of the tables 1561˜1563 based on thecoding mode (the IPB coding mode, the first IP coding mode or the secondIP coding mode) designated by the operation console unit 1505. Theswitch change processing unit 1565 outputs a signal of switching ON orOFF so as to control the switches 1531 and 1532 of the switching unit1530 based on the priority outputted from the priority determining unit1550 and the CPU operation rate acquired by every picture, withreference to the table selected by the selector 1564.

Specifically, when the IPB coding mode is designated, the selector 1564selects the table 1561, and the switch change processing unit 1565outputs a signal of switching ON for all the I-picture, P-picture andB-picture if the CPU operation rate is less than 70%. Also, if the CPUoperation rate is 70% or more and less than 80%, the switch changeprocessing unit 1565 outputs a signal of switching ON only for anI-picture and a P-picture. Also, if the CPU operation rate is 80% ormore, the switch change processing unit 1565 outputs a signal ofswitching ON only for an I-picture.

Also, when the first IP coding mode is designated, the selector 1564selects the table 1562, and the switch change processing unit 1565outputs a signal of switching ON for all the I-picture, P-picture(possibility) and P-picture (no possibility) if the CPU operation rateis less than 70%. Also, if the CPU operation rate is 70% or more andless than 80%, the switch change processing unit 1565 outputs a signalof switching ON only for an I-picture and a P-picture (possibility).Also, if the CPU operation rate is 80% or more, the switch changeprocessing unit 1565 outputs a signal of switching ON only for anI-picture.

Further, when the second IP coding mode is designated, the selector 1564selects the table 1563, and the switch change processing unit 1565outputs a signal of switching ON for all the I-picture, P-picture(base), P-picture (possibility) and P-picture (no possibility). Also, ifthe CPU operation rate is 70% or more and less than 80%, the switchchange processing unit 1565 outputs a signal of switching ON only for anI-picture, a P-picture (base) and a P-picture (possibility). Also, ifthe CPU operation rate is 80% or more, the switch change processing unit1565 outputs a signal of switching ON only for an I-picture and aP-picture (base).

Next, the operation of the picture coding apparatus 1500 structured asabove will be explained.

In the intra picture coding mode for coding a picture as an I-picture, apicture outputted from the pre-processing unit 1510 is compressed andcoded into a frequency component by orthogonal transformation by theorthogonal transformation unit 1513, and compressed and coded into aquantized value by quantization by the quantization unit 1514. Thisquantized value is compressed and coded into a variable length byvariable length coding by the variable length coding unit 1517,converted into a coded signal of a bit stream of an I-picture by thepost-processing unit 1520, and stored in a memory medium such as a harddisk.

On the other hand, the quantized value outputted from the quantizationunit 1514 is decoded into a frequency component by inverse quantizationby the inverse quantization unit 1521, and decoded into a picture byinverse orthogonal transformation by the inverse orthogonaltransformation unit 1522. When the switches 1531 and 1532 are turned ONunder the control of the filter processing controlling unit 1560, thisdecoded picture is stored in the picture memory 1541 after beingfilter-processed for eliminating block distortion by the inter pixelfilter 1540, and when the switches 1531 and 1532 are OFF, it is storedin the picture memory 1541 without being filter-processed.

Also, in the inter picture coding mode for coding a picture as aP-picture and a B-picture, a motion vector is generated by the motionestimation unit 1542, a motion compensation picture (predictive picture)is generated by the motion compensation unit 1543, and a motioncompensation error (differential image) is generated by the subtractingunit 1512. Note that the motion estimation unit 1542 searches for apredictive picture whose difference from the picture outputted from thepre-processing unit 1510 is smallest from among the decoded picturesstored in the picture memory 1541 as one or a plurality of forward orbackward reference pictures.

FIG. 17 is a diagram showing reference relations between pictures storedin the picture memory 1541. Particularly, FIG. 17A is a diagram showingreference pictures for prediction in the IPB method, FIG. 17B is adiagram showing reference pictures for prediction in the first IPmethod, and FIG. 17C is a diagram showing reference pictures forprediction in the second. IP method. Note that below each picture ofeach method, the priority (priority level) associated with the pictureis indicated.

For predicting a P-picture in the case of the IPB method of FIG. 17A, aforward I-picture and P-picture can be referred to. For predicting aB-picture, a forward I-picture or P-picture can be referred to and onebackward and temporally closest I-picture or P-picture can be referredto.

Note that for predicting a B-picture in H.26L, a B-picture, in additionto an I-picture and a P-picture, can be referred to as a forwardpicture. In the mode using this B-picture as a reference picture,information that “there is a possibility” or “there is no possibility”is added to the B-picture, and the information that “there is apossibility” or “there is no possibility” is added to the picture typeas well. And in this mode, the decoded B-picture to which theinformation that there is a possibility of being referred to is alwaysstored in the picture memory 1541, and the decoded B-picture to whichthe information that there is no possibility of being referred to doesnot need to be stored in the picture memory 1541.

For predicting a P-picture (reference possibility) in the first IPmethod of FIG. 17B, a forward I-picture and P-picture (reference:possibility) can be referred to. For predicting a P-picture (noreference possibility), a forward I-picture or P-picture (referencepossibility) can be referred to.

For predicting a P-picture (base) in the second IP method of FIG. 17C, aforward I-picture and P-picture (base) can be referred to. Forpredicting a P-picture (reference possibility), a forward I-picture andP-picture (base) can be referred to. For predicting a P-picture (noreference possibility), a plurality of forward I-pictures, P-pictures(base) or P-pictures (reference possibility) can be referred to.

Note that, for convenience of explanation, the case where the IPB codingmode is designated will be explained.

Under such restriction, the motion estimation unit 1542 outputs as amotion vector the motion amount of the differential pixel between thesearched reference picture and the picture outputted from thepre-processing unit 1510, and also outputs a block prediction typeindicating whether a reference picture is a forward picture, a backwardpicture or an average value of bi-predictive pictures. Also, the motioncompensation unit 1543 performs for the differential pixel the operationindicated by the motion vector and the block prediction type outputtedfrom the motion estimation unit 1542 to generate a motion compensationpicture. And the subtracting unit 1512 generates a motion compensationerror (differential image) by subtracting the motion compensationpicture generated by the motion compensation unit 1543 from the pictureoutputted from the pre-processing unit 1510.

The motion compensation error (differential image) outputted from thesubtracting unit 1512 is compressed and coded into a frequency componentby orthogonal transformation by the orthogonal transformation unit 1513,and compressed and coded into a quantized value by quantization by thequantization unit 1514.

This quantized value is compressed and coded into a variable length byvariable length coding by the variable length coding unit 1517,converted into a coded signal in a bit stream of a P-picture or aB-picture together with the motion vector and others by thepost-processing unit 1520, and stored in a memory medium such as a harddisk.

On the other hand, the quantized value of a P-picture or a B-picturewith a possibility of being referred to which is outputted from thequantization unit 1514 is decoded into a frequency component by inversequantization by the inverse quantization unit 1521, and decoded into amotion compensation error (differential image) by inverse orthogonaltransformation by the inverse orthogonal transformation unit 1522. Then,the adding unit 1524 adds the motion compensation error (differentialimage) and the motion compensation picture, and thus it is decoded intoa picture. This decoded picture is stored in the picture memory 1541after being filter-processed for eliminating block distortion by theinter pixel filter 1540 when the switches 1531 and 1532 are turned ONunder the control of the filter processing controlling unit 1560, andwhen the switches 1531 and 1532 are turned OFF, it is stored in thepicture memory 1541 without being filter-processed.

Here, ON/OFF control of the switches 1531 and 1532 by the filterprocessing controlling unit 1560 will be explained in more detail.

FIG. 18 is a flowchart showing switch activating processing executed bythe switch change processing unit 1565 in the filter processingcontrolling unit 1560.

By the way, the determination processing unit 1555 in the prioritydetermining unit 1550 determines the priority of each picture outputtedfrom the pre-processing unit. 1510 depending on the picture type withreference to the table 1551 selected by the selector 1554, and outputsthe determined priority. Specifically, when the IPB coding mode isdesignated, the selector 1554 selects the table 1551, and thedetermination processing unit 1555 outputs the priority “0” for anI-picture, the priority “1” for a P-picture and the priority “2” for aB-picture every time the picture type is outputted from thepre-processing unit 1510.

For every coding of a picture, the switch change processing unit 1565 inthe filter processing controlling unit 1560 acquires the priority of thepicture and the operation rate of the CPU included in this picturecoding apparatus 1500 (S21), and determines the entry which is to bereferred to in the table (the table 1561 in the example of FIG. 16)(S22).

Specifically, if the CPU operation rate is less than 70%, it determinesthat the entry which is to be referred to is the first line, if the CPUoperation rate is 70% or more and less than 80%, it determines that theentry which is to be referred to is the second line, and if the CPUoperation rate is 80% or more, it determines the entry which is to bereferred to is the third line.

After determining the entry which is to be referred to, the switchchange processing unit 1565 reads out the right column of the entry(S23), and judges whether the priority set for the picture type of thedecoded picture is included in the right column or not (S24). If it isincluded in the right column (Yes in S24), the switch change processingunit 1565 outputs a signal of switching ON to the switches 1531 and 1532(S25). Thereby, filter processing is performed for the decoded picture,and the filter-processed decoded picture is stored in the picture memory1541.

On the contrary, if it is not included in the right column (No in S24),the switch change processing unit 1565 outputs a signal of switching OFFto the switches 1531 and 1532 (S26). Thereby, filter processing for thedecoded picture is skipped, and the decoded picture is stored in thepicture memory 1541 without being filter-processed.

Such control is performed for each picture, and decoded pictures whichhave been filter-processed and have not been filter-processed are storedin the picture memory 1541 in sequence. Accordingly, in picture coding,inter pixel filter for noise elimination or the like is not alwaysperformed but the inter pixel filter is performed selectively whennecessary, so if inter pixel filter is performed only for pictureshaving serious influence on picture quality, for example, even in apicture decoding apparatus with a low processing capability, it becomespossible to maintain the picture quality of the important pictures whichare stored in the picture memory, reduce accumulation of blockdistortion in the decoded pictures which have been stored in the picturememory, improve prediction efficiency by the motion compensation unit,and reduce deterioration of picture quality more than the MPEGtechnique, and thus the great effect of improving picture quality can beachieved at a low bit rate.

More specifically, in performing inter pixel filter, priority is givento a picture having great influence on other pictures, that is, an intracoded picture, a forward predictive coded picture, a base layer pictureor the like, so the effect of improving picture quality such as noiseelimination can be achieved by an inter pixel filter more effectivelyeven with same increase in processing load.

Also, ON/OFF of filter processing can be controlled so as to make fulluse of the processing capability of the picture coding apparatus, so theCPU is used with high efficiency, and thus coding for higher picturequality can be realized even with the same hardware resources.

Fourth Embodiment

Next, a picture decoding apparatus according to an embodiment of thepresent invention will be explained. FIG. 19 is a block diagram showingthe functional structure of a picture decoding apparatus 1600 accordingto the fourth embodiment of the present invention.

This picture decoding apparatus 1600 is an apparatus for decoding thecoded signal coded by the picture coding apparatus 1500 as shown in FIG.14, and it is realized by a computer apparatus equipped with a CPU, amemory, a hard disk (HD) in which a program for picture decoding isinstalled or the like, and, as functions, includes a pre-processing unit1610, a variable length decoding unit 1617, an inverse quantization unit1621, an inverse orthogonal transformation unit 1622, an adding unit1624, a switching unit 1630, an inter pixel filter 1640, apost-processing unit 1670, a picture memory 1641, a motion compensationunit 1643, a priority determining unit 1650 and a filter processingcontrolling unit 1660.

The pre-processing unit 1610 is equipped with a buffer or the like forstoring a coded signal temporarily, and separates it into the picturetype, the motion vector and the coded signal of a picture itselfincluded in the coded signal so as to output them. Note that when thecoded signal of the picture is the first IP coding mode, the informationof “possibility” or “no possibility” is added to the picture, and theinformation of “possibility” or “no possibility” is also added to thepicture type. Also, when it is the second IP coding mode, theinformation of “base”, “possibility” or “no possibility” is added to thepicture, and the information of “base”, “possibility” or “nopossibility” is added to the picture type as well.

The variable length decoding unit 1617 outputs a fixed length quantizedvalue by decoding (Huffman decoding) the coded signal outputted from thepre-processing unit 1610. The inverse quantization unit 1621 decodes thefrequency component by inverse quantizing the quantized value outputtedfrom the variable length decoding unit 1617. The inverse orthogonaltransformation unit 1622 decodes the picture in the intra picture codingmode and the motion compensation error (residual image) that is adifferential value of pixels in the inter picture coding mode by inverseorthogonal transforming the frequency component decoded by the inversequantization unit 1621.

The adding unit 1624 outputs the picture decoded by the inverseorthogonal transformation unit 1622 as it is in the intra picture codingmode, and decodes the picture by adding the motion compensation error(residual image) decoded by the inverse orthogonal transformation unit1622 and the motion compensation picture generated by the motioncompensation unit 1643 in the inter picture coding mode. The switchingunit 1630 is comprised of a pair of switches 1631 and 1632 for switchingtheir switching status synchronously under the switch ON/OFF control ofthe filter processing controlling unit 1660 for each picture, andincorporates the inter pixel filter 1640 into a loop, or omits it from aloop, that is, makes the inter pixel filter 1640 skip its processing.

The inter pixel filter 1640 performs spatial low pass filter processingfor the decoded picture outputted from the adding unit 1624 on a blockby block basis when the switches 1631 and 1632 are ON to generate thedecoded picture without block distortion or the like. For example, itcalculates an average value between a pixel and neighboring pixels, andif the difference between the pixel and the neighboring pixel is withina predetermined range, it executes the processing of replacing everypixel around the block boundary with the calculated average value.

The post-processing unit 1670 is equipped with a format converting unitfor converting a format to a predetermined spatial resolution, a pictureorder restoring unit for restoring the order of the pictures which havebeen reordered depending on their picture types to the original orderthereof, and the like, and outputs the decoded picture to a monitor orthe like. The picture memory 1641 stores a plurality of the decodedpictures, with a possibility of being referred to, outputted from theswitching unit 1630. The motion compensation unit 1643 performs theoperation indicated by the motion vector and the block prediction typeoutputted from the pre-processing unit 1610 for the decoded picturesstored in the picture memory 1641 to generate motion compensationpictures. The priority determining unit 1650 has the same structure asthe priority determining unit 1550 as shown in FIG. 15, and outputs thepriority of a picture depending on the picture type outputted from thepre-processing unit 1610 and the base layer or the enhancement layer.The filter processing controlling unit 1660 has the same structure asthe filter processing controlling unit 1560 as shown in FIG. 16, andcontrols ON/OFF of the switches 1631 and 1632 of the switching unit 1630depending on the priority outputted from the priority determining unit1650 and the CPU operation rate obtained by monitoring.

Next, the operation of the picture decoding apparatus 1600 structured asabove will be explained. Note that, for convenience of explaining ittogether with the picture coding apparatus 1500, the case where the IPBcoding mode is specified will be explained.

In the intra picture decoding mode for decoding a coded signal of anI-picture into a picture, the coded signal outputted from thepre-processing unit 1610 is decoded into a quantized value by variablelength decoding by the variable length decoding unit 1617, expanded anddecoded into a frequency component by inverse quantization by theinverse quantization unit 1621, and decoded into a picture (decodedpicture) by inverse orthogonal transformation by the inverse orthogonaltransformation unit 1622. When the switches 1631 and 1632 are turned ONunder the control of the filter processing controlling unit 1660, thisdecoded picture is stored in the picture memory 1641 after beingfilter-processed for eliminating block distortion by the inter pixelfilter 1640, and the order of the picture is restored to the originalone in the post-processing unit 1670, the format thereof is converted,and then outputted to a monitor or the like. On the contrary, when theswitches 1631 and 1632 are turned OFF, the decoded picture is stored inthe picture memory 1641 without being filter-processed, and the order ofthe picture is restored to the original one in the post-processing unit1670, the format thereof is converted, and then outputted to a monitoror the like.

Also, in the inter picture decoding mode for decoding coded signals of aP-picture and a B-picture into pictures, the coded signal outputted fromthe pre-processing unit 1610 is decoded into a quantized value byvariable length decoding by the variable length decoding unit 1617,expanded and decoded into a frequency component by inverse orthogonaltransformation by the inverse quantization unit 1621, and decoded into amotion compensation error (differential image) by inverse orthogonaltransformation by the inverse orthogonal transformation unit 1622.

On the other hand, the motion compensation picture (predictive picture)is generated by the motion compensation unit 1643. Note that the motioncompensation unit 1643 performs the operation indicated by the motionvector and the block prediction type outputted from the pre-processingunit 1610 for the differential pixel in the reference picture read outfrom the picture memory 1641 to generate a motion compensation picture.

And the adding unit 1624 adds the motion compensation error(differential image) and the motion compensation picture to decode theresult into a picture. When the switches 1631 and 1632 are turned ONunder the control of the filter processing controlling unit 1660, afterthis decoded picture is filter-processed for eliminating blockdistortion by the inter pixel filter 1640, and then the order of thepicture is restored in the post-processing unit 1670, the format thereofis converted, and the picture is outputted to a monitor or the like, andthe decoded picture with a possibility of being referred to is stored inthe picture memory 1641. On the other hand, when the switches 1631 and1632 are turned OFF, filter processing is not performed, but the orderof the picture is restored to the original order in the post-processingunit 1670, the format thereof is converted, and the picture is outputtedto a monitor or the like, and the decoded picture with a possibility ofbeing referred to is stored in the picture memory 1641. Here, as is thecase of the switches 1531 and 1532 of the picture coding apparatus 1500,the ON/OFF of the switches 1631 and 1632 are controlled by the filterprocessing controlling unit 1660.

More specifically, the switch change processing unit in the filterprocessing controlling unit 1660 acquires the priority of a picture andthe operation rate of a CPU included in this picture decoding apparatus1600 for every picture coding, determines the entry which is to bereferred to on the table for the IPB coding mode, reads out the rightcolumn of the entry, and judges whether the priority set for the picturetype of the decoded picture is included in the right column or not. Ifit is included in the right column, the switch change processing unit inthe filter processing controlling unit 1660 outputs a signal ofswitching ON to the switches 1631 and 1632. Thereby, filter processingis performed for the decoded picture, and the filter-processed describedpicture is stored in the picture memory 1641. On the other hand, if itis not included in the right column, the switch change processing unitin the filter processing controlling unit 1660 outputs a signal ofswitching OFF to the switches 1631 and 1632. Therefore, filterprocessing for the decoded picture is skipped, and the decoded pictureis stored in the picture memory 1641 without being filter-processed.

Such control is performed for each picture, and decoded pictures whichhave been filter-processed and have not been filter-processed are storedin the picture memory 1641 in sequence.

Accordingly, in picture decoding, inter pixel filter for noiseelimination or the like is not always performed but the inter pixelfilter is performed selectively when necessary, so if inter pixelfilter: is performed only for pictures having serious influence onpicture quality, for example, even in a picture decoding apparatus witha low processing capability, it becomes possible to maintain the picturequality of the important pictures which are stored in the picturememory, reduce accumulation of block distortion in the decoded pictureswhich have been stored in the picture memory, improve predictionefficiency by the motion compensation unit, and reduce deterioration ofpicture quality more than the MPEG technique, and thus the great effectof improving picture quality can be achieved at a low bit rate.

More specifically, in performing inter pixel filter, priority is givento a picture having great influence on other pictures, that is, an intracoded picture, a forward predictive coded picture, a base layer pictureor the like, so the effect of improving picture quality such as noiseelimination can be achieved by an inter pixel filter more effectivelyeven with the same increase in processing load.

Also, ON/OFF of filter processing can be controlled so as to make fulluse of the processing capability of the picture decoding apparatus, sothe CPU is used with high efficiency, and thus decoding for higherpicture quality can be realized even with the same hardware resources.

Note that the present invention can be realized not only as such apicture coding apparatus or a picture decoding apparatus, but also as apicture coding method or a picture decoding method for functioningcharacteristic units included in these apparatuses as steps, or as aprogram for having a computer execute those steps. And it is needless tosay that the program can be distributed via a recording medium such as aCD-ROM or a transmission medium such as the Internet.

Fifth Embodiment

In addition, if a program for realizing the structure of the picturecoding method or the picture decoding method as shown in each of theabove-mentioned embodiments is recorded on a storage medium such as aflexible disk, it becomes possible to perform the processing as shown ineach of the above embodiments easily in an independent computer system.

FIG. 20 is an illustration showing the case where the processing isperformed in a computer system using a flexible disk which stores thepicture coding method or the picture decoding method in theabove-mentioned first and second embodiments.

FIG. 20B shows the front view and the cross-sectional view of theappearance of a flexible disk, and the flexible disk, and FIG. 20A showsan example of a physical format of a flexible disk as a recording mediumitself. A flexible disk FD is contained in a case F, a plurality oftracks Tr are formed concentrically on the surface of the disk in theradius direction from the periphery, and each track is divided into 16sectors Se in the angular direction. Therefore, as for the flexible diskstoring the above-mentioned program, the picture coding method as theprogram is recorded in an area allocated for it on the flexible disk FD.

FIG. 20C shows the structure for recording and reproducing the programon and from the flexible disk FD. For recording the program on theflexible disk FD, the computer system Cs writes the picture codingmethod or the picture decoding method as the program on the flexibledisk FD via a flexible disk drive. For constructing the above picturecoding method in the computer system by the program recorded on theflexible disk, the program is read out from the flexible disk via theflexible disk drive and transferred to the computer system.

Note that the above explanation is made on the assumption that arecording medium is a flexible disk, but the same processing can also beperformed using an optical disk. In addition, the recording medium isnot limited to these, but any other mediums such as an IC card and a ROMcassette can be used in the same manner if a program can be recorded onthem.

FIG. 21˜FIG. 24 are illustrations of the devices for performing thecoding or decoding processing as shown in the above-mentionedembodiments, and the system using them.

FIG. 21 is a block diagram showing the overall configuration of acontent providing system ex100 for realizing content distributionservice. The area for providing communication service is divided intocells of desired size, and base stations ex107˜ex110 which are fixedwireless stations are placed in respective cells. This content providingsystem ex100 is connected to a computer ex111, a PDA (Personal DigitalAssistant) ex112, a camera ex113, and a mobile phone ex114 via theInternet ex101, an Internet service provider ex102, and a telephonenetwork ex104, for example. However, the content providing system ex100is not limited to the combination as shown in FIG. 21, and may beconnected to a combination of any of them. Also, it may be connecteddirectly to the telephone network ex104, not through the base stationsex107˜ex110 which are the fixed wireless stations.

The camera ex113 is a device such as a digital video camera capable ofshooting moving pictures. The mobile phone may be any of a mobile phoneof a PDC (Personal Digital Communications) system, a CDMA (Code DivisionMultiple Access) system, a W-CDMA (Wideband-Code Division MultipleAccess) system or a GSM (Global System for Mobile Communications)system, a PHS (Personal Handyphone System) and the like.

Also, a streaming server ex103 is connected to the camera ex113 via thebase station ex109 and the telephone network ex104, which enables livedistribution or the like using the camera ex113 based on the coded datatransmitted from the user. Either, the camera ex113 or the server fortransmitting the data may code the data shot by the camera. Also, themoving picture data shot by a camera ex116 may be transmitted to thestreaming server ex103 via the computer ex111. The camera ex116 is adevice such as a digital camera capable of shooting still and movingpictures. In this case, either the camera ex116 or the computer ex111may code the moving picture data. An LSI ex117 included in the computerex111 or the camera ex116 performs coding processing. Note that softwarefor coding and decoding pictures may be integrated into any type of astorage medium (such as a CD-ROM, a flexible disk and a hard disk) thatis a recording medium which can be read by the computer ex111 or thelike. Furthermore, the camera-equipped mobile phone ex115 may transmitthe moving picture data. This moving picture data is the data coded bythe LSI included in the mobile phone ex115.

FIG. 22 is a diagram showing an example of the mobile phone ex115. Themobile phone ex115 has an antenna ex201 for sending and receiving radiowaves between the base station ex110, a camera unit ex203 such as a CCDcamera capable of shooting video and still pictures, a display unitex202 such as a liquid crystal display for displaying the data obtainedby decoding video shot by the camera unit ex203, video received by theantenna ex201, or the like, a main body ex204 including a set ofoperation keys, a voice output unit ex208 such as a speaker foroutputting voices, a voice input unit ex205 such as a microphone forinputting voices, a storage medium ex207 for storing coded or decodeddata such as data of moving or still pictures shot by the camera anddata of moving or still pictures of received e-mails, and a slot unitex206 for attaching the storage medium ex207 into the mobile phoneex115. The storage medium ex207 includes a flash memory element, a kindof EEPROM (Electrically Erasable and Programmable Read Only Memory) thatis an electrically erasable and rewritable nonvolatile memory, in aplastic case such as an SD card.

In this content providing system ex100, contents (such as a music livevideo) shot by users using the camera ex113, the camera ex116 or thelike are coded in the same manner as the above embodiments andtransmitted to the streaming server ex103, while the streaming serverex103 makes stream distribution of the content data to the clients attheir request. The clients include the computer ex111; the PDA ex112,the camera ex113, the mobile phone ex114 and so on capable of decodingthe above-mentioned coded data. The content providing system ex100 is asystem in which, the clients can thus receive and reproduce the codeddata, and further can receive, decode and reproduce the data in realtime so as to realize personal broadcasting.

Further, the mobile phone ex115 will be explained with reference to FIG.23. In the mobile phone ex115, a main control unit ex311 for overallcontrolling each unit of the display unit ex202 and the main body ex204is connected to a power supply circuit unit ex310, an operation inputcontrol unit ex304, a picture coding unit ex312, a camera interface unitex303, an LCD (Liquid Crystal Display) control unit ex302, a picturedecoding unit ex309, a multiplex/demultiplex unit ex308, arecord/reproduce unit ex307, a modem circuit unit ex306 and a voiceprocessing unit ex305 to each other via a synchronous bus ex313. When acall-end key or a power key is turned ON by a user's operation, thepower supply circuit unit ex310 supplies respective units with powerfrom a battery pack so as to activate the camera-equipped digital mobilephone ex115 for a ready state. In the mobile phone ex115, under thecontrol of the main control unit ex311 including a CPU, ROM and RAM, thevoice processing unit ex305 converts the voice signals received by thevoice input unit ex205 in conversation mode into digital voice data, themodem circuit unit ex306 performs spread spectrum processing of thedigital voice data, and the send/receive circuit unit ex301 performsdigital-to-analog conversion and frequency transformation of the data,so as to transmit it via the antenna ex201. Also, in the mobile phoneex115, the data received by the antenna ex201 in conversation mode isamplified and performed of frequency transformation andanalog-to-digital conversion, the modem circuit unit ex306 performsinverse spread spectrum processing of the data, and the voice processingunit ex305 converts it into analog voice data, so as to output theresult via the voice output unit ex208. Furthermore, when transmittingan e-mail in data communication mode, the text data of the e-mailinputted by operating the operation keys on the main body ex204 is sentout to the main control unit ex311 via the operation input control unitex304. In the main control unit ex311, after the modem circuit unitex306 performs spread spectrum processing of the text data and thesend/receive circuit unit ex301 performs digital-to-analog conversionand frequency transformation of it, the result is transmitted to thebase station ex110 via the antenna ex201.

When picture data is transmitted in data communication mode, the picturedata shot by the camera unit ex203 is provided to the picture codingunit ex312 via the camera interface unit ex303. When the picture data isnot transmitted, the picture data shot by the camera unit ex203 can alsobe displayed directly on the display unit 202 via the camera interfaceunit ex303 and the LCD control unit ex302.

The picture coding unit ex312 compress and codes the picture dataprovided from the camera unit ex203 by the coding method as shown in theabove-mentioned embodiments so as to transform it into coded picturedata, and sends it out to the multiplex/demultiplex unit ex308. At thistime, the mobile phone ex:115 sends out the voices received by the voiceinput unit ex205 during picture pickup by the camera unit ex203 to themultiplex/demultiplex unit ex308 as digital voice data via the voiceprocessing unit ex305.

The multiplex/demultiplex unit ex308 multiplexes the coded picture dataprovided from the picture coding unit ex312 and the voice data providedfrom the voice processing unit ex305 by a predetermined method, themodem circuit unit ex306 performs spread spectrum processing of theresulting multiplexed data, and the send/receive circuit unit ex301performs digital-to-analog conversion and frequency transformation ofthe result for transmitting via the antenna ex201.

As for receiving data of a moving picture file which is linked to aWebsite or the like in data communication mode, the modem circuit unitex306 performs inverse spread spectrum processing of the data receivedfrom the base station ex110 via the antenna ex201, and sends out theresulting multiplexed data to the multiplex/demultiplex unit ex308.

In order to decode the multiplexed data received via the antenna ex201,the multiplex/demultiplex unit ex308 demultiplexes the multiplexed datainto coded picture data and voice data, and provides the coded picturedata to the picture decoding unit ex309 and the voice data to the voiceprocessing unit ex305 respectively via the synchronous bus ex313.

Next, the picture decoding unit ex309 decodes the coded picture data bythe decoding method paired with the coding method as shown in theabove-mentioned embodiments, so as to generate reproduced moving picturedata, and provides this data to the display unit ex202 via the LCDcontrol unit ex302, and thus moving picture data included in a movingpicture file linked to a Website, for instance, is displayed. At thesame time, the voice professing unit ex305 converts the voice data intoanalog voice data, and provides this data to the voice output unitex208, and thus voice data included in a moving picture file linked to aWebsite, for instance, is reproduced.

The present invention is not limited to the above-mentioned system.Ground-based or satellite digital broadcasting has been in the newslately, and at least either the picture coding method or the picturedecoding method in the above-mentioned embodiments can be incorporatedinto such a digital broadcasting system as shown in FIG. 24. Morespecifically, a coded bit stream of video information is transmittedfrom a broadcast station ex409 to or communicated with a broadcastsatellite ex410 via radio waves. Upon receipt of it, the broadcastsatellite ex410 transmits radio waves for broadcasting, 3o a homeantenna ex406 with a satellite broadcast reception function receives theradio waves, and an apparatus such as a television (receiver) ex401 or aset top box (STB) ex407 decodes the coded bit stream for reproduction.The picture decoding apparatus as shown in the above-mentionedembodiments can be implemented in the reproducing apparatus ex403 forreading a coded bit stream recorded on a storage medium ex402 that is arecording medium such as a CD and DVD and decoding it. In this case, thereproduced video signals are displayed on a monitor ex404. It is alsoconceived to implement the picture decoding apparatus in the set top boxex407 connected to a cable ex405 for a cable television or the antennaex406 for satellite and/or ground-based broadcasting so as to reproducethem on a monitor ex408 of the television ex401. The picture decodingapparatus may be incorporated into the television, not in the set topbox. Or, a car ex412 having an antenna ex411 can receive signals fromthe satellite ex410, the base station ex107 or the like for reproducingmoving pictures on a display apparatus such as a car navigation deviceex413 or the like in the car ex412.

Furthermore, the picture coding apparatus as shown in theabove-mentioned embodiments can code picture signals for recording on arecording medium. As a concrete example, there is a recorder ex420 suchas a DVD recorder for recording picture signals on a DVD disk ex421 anda disk recorder for recording them on a hard disk. They can also berecorded on an SD card ex422. If the recorder ex420 includes the picturedecoding apparatus as shown in the above-mentioned embodiments, thepicture signals recorded on the DVD disk ex421 or the SD card ex422 canbe reproduced for display on the monitor ex408.

Note that although the structure of the car navigation device ex413 issame as that of the mobile phone ex115 as shown in FIG. 23, for example,the structure without the camera unit ex203, the camera interface unitex303 and the picture coding unit ex312, out of the units as shown inFIG. 23, is conceivable. The same applies to the computer ex111, thetelevision (receiver) ex401 and others.

In addition, three types of implementations can be conceived for aterminal such as the above-mentioned mobile phone ex114; asending/receiving terminal equipped with both an encoder and a decoder,a sending terminal equipped with an encoder only, and a receivingterminal equipped with a decoder only.

As described above, it becomes possible to realize any type of apparatusor system as shown in the present embodiment by implementing the codingmethod and decoding method as shown in the present specification.

INDUSTRIAL APPLICABILITY

The picture coding apparatus according to the present invention isuseful as a picture coding apparatus which is included in a personalcomputer, a PDA and a mobile phone with a communication function.

Also, the picture decoding apparatus according to the present inventionis useful as a picture decoding apparatus which is included in apersonal computer, a PDA and a mobile phone with a communicationfunction.

1-57. (canceled)
 58. A method for coding a picture, said methodcomprising: coding an input picture to obtain coded data with or withoutusing a reference picture; decoding the coded data to obtain a decodedpicture; changing a filtering of the decoded picture based oninformation indicating whether or not the decoded picture is used as areference picture to code a following input picture; and storing thedecoded picture, which is filtered, for use as the reference picture tocode a following input picture, wherein a smoothing level of thefiltering performed when the decoded picture is used as a referencepicture is higher than a smoothing level of the filtering performed whenthe decoded picture is not used as a reference picture.
 59. The codingmethod according to claim 58, wherein the filtering is not performed onthe decoded picture when the decoded picture is not used as a referencepicture.
 60. A method for coding a picture, said method comprising:coding a target picture to obtain coded data; decoding the coded data toobtain a decoded picture; determining picture type information, thepicture type information indicating whether a following input picture isto be coded with using the decoded picture as a reference picture orwithout using the decoded picture as a reference picture; switching afilter characteristic based on the picture type information; filteringthe decoded picture using the switched filter characteristic to obtain afiltered picture; and storing the filtered picture for use as areference picture to code the following input picture, wherein asmoothing level of the filter characteristic when the picture typeinformation indicates that the decoded picture is used as a referencepicture is higher than a smoothing level of the filter characteristicwhen the picture type information indicates that the decoded picture isnot used as a reference picture.
 61. The coding method according toclaim 60, wherein the filtering is not performed on the decoded picturewhen the decoded picture is not used as a reference picture.